The diversity and number of computing devices is increasing exponentially. For example, there are hand-held devices such as smart-phones and tablets, reading devices that can also be used for web purchases, and also traditional desk-bound computing platforms. Each of these platforms may have different hardware and software capabilities, which can be used to perform transactions. Some of these capabilities may provide s security measure for preventing fraud, for example. However, these capabilities and features can change rapidly from product release to product release. Some of these features may not be available all the time for any given transaction. For example, GPS (Global Positioning System) features of a device may not be available indoors. It is therefore difficult to rely on a single feature as a security measure for protecting the integrity of every transaction, or even a subset of transactions.